#ifndef __TABLE_H__
#define __TABLE_H__

#include "map.h"
#include "attri.h"

struct symbolTable
{
    root_t root;
    struct symbolTable* pre; 
};

typedef struct symbolTable symbolTable;

void newTable();
void deleteTable();
void insertSymbol(char* key, void* val);
map_t* oneTableSearch(symbolTable* tmp, char* str);
map_t* allTableSearch(char* str);

void printTable();

bool isDupName(const char* varname);
bool isMemparaDupName(const char* varname);
bool isStructdefDupName(const char* varname);

#endif